Devices, such as computers, personal digital assistants (PDA's), cellular telephones, and the like, that can generate, process, display and otherwise make use of information in digital form, are often connected into networks to facilitate sharing of information thereamong. In some networks, so-called local area networks (LAN's), the networks extend over a relatively small geographic region, such as a building or group of buildings. Other networks, so-called wide area networks (WAN's), the networks extend over larger geographical regions, and may include LAN's as parts thereof. Some networks are private, maintained by an organization such as a corporation, government agency and the like, and may be accessed only by, for example, employees and other authorized people. On the other hand, some networks, such as the Internet or World Wide Web, are public and typically may be accessed by anyone who has access to a suitable digital device and network connection.
A number of types of paradigms and protocols exist for transferring information over a network, such as a WAN such as the Internet and World Wide Web (generally, “Internet”), or a LAN (“Intranet”). One paradigm is the so-called client/server paradigm, in which some devices, which are referred to as servers, store digital information that may be retrieved by other devices, which are referred to as clients. Several protocols exist for retrieving information, including the so-called file-transfer protocol (“FTP”) for facilitating the retrieval of individual information files for, for example, later processing, and the HyperText transfer protocol (“HTTP”) for facilitating the retrieval of one or more information files, at least one of which will be in the so-called HyperText Markup Language (“HTML”), all of which constitute a Web page. Typically, Web pages include textual and graphical information that is to be displayed on a display provided by the client device.
One popular type of program that is often used for retrieving and using information files comprising a Web page is referred to as a browser. A browser provides a convenient mechanism by which a user can identify the particular item of information that is to be downloaded, by providing a “URL,” or “universal resource locator.” A URL is identifies a computer, network domain or Web site (generally, “web site”) from which the item of information is to be retrieved, and may also specify a particular item of information that is to be retrieved. Typically, URL's are in relatively user-friendly form, typically identifying at least the Web site by name or a mnemonic of the name of the person or organization that maintains the Web site. The browser will convert at least the portion of the URL that identifies the web site to a network address, which is typically in numerical form, which it uses to contact the Web site and establish a “connection” therewith. A browser may need to contact another device, referred to as a name server, that maintains a concordance between URL's and network addresses, to obtain the network address. After the browser has the web site's network address, it can use the network address, the identification of the particular item of information that is to be retrieved, and possibly other parameters to establish a connection with the Web site and initiate retrieval of the information item.
A browser typically retrieves information in the form of documents or “Web pages,” which may include text and graphical images, and may also include streaming video and audio information. The textual information is specified in one of a number of document description languages, typically in the well-known HyperText Markup Language (HTML). If a Web page is to have one or more graphical images and/or video information displayed therewith, the HTML description identifies the locations on the Web page at which the images or streaming video information are to be displayed and the sizes of regions of the Web page on which the respective images or video information are to be displayed. In addition, the HTML description will provide URL's for the respective images and streaming video information. Similarly, if the Web page is to be displayed along with audio information, the HTML description will specify the audio information that is to be played.
As the browser displays the Web page on the computer's video display screen, it will display the text as specified in the HTML description, in the process reserving regions of the displayed Web page on which the respective images are to be displayed. In addition, the browser will retrieve the graphical images, using the provided URL's provided in the HTML description in a manner similar to that described above, and display them in the regions on the video display screen that were reserved therefor. Furthermore, if streaming video information is to be displayed, the browser can initiate retrieval of the streaming video information either while displaying the other elements of the Web page or at some point after the Web page has been displayed. The user may need to perform some action, such as actuating a pushbutton displayed on the Web page. A pushbutton can be actuated in any of a number of ways, including clicking on it using a pointing device such as, for example, a mouse, pressing on the region of a touch screen on which the pushbutton is displayed by, for example, a stylus, or any other mechanism for actuating a pushbutton displayed on a video display screen as will be appreciated by those skilled in the art. Audio information may be retrieved in a manner similar to the streaming video information and played through an audio reproduction device, such as a speaker, provided with the computer.
In addition to text, image, streaming video and audio information, a Web page may also be associated with programs, termed “applets,” that may be retrieved with the other types of information and executed under control of the browser.
Generally, the Web pages that are currently displayed by browsers are static documents. That is, a user, through the browser, requests a Web page, and the browser retrieves the information associated with the Web page and displays it. Essentially, when the Web site has provided the information associated with the Web page, that essentially ends the transaction between the browser and the Web site in relation to that Web page. If the user wishes to retrieve another Web page from the same Web site, he or she may do so by, for example, entering another URL or actuating a link on the Web page that is currently being displayed, which will initiate another transaction.
Typically, a user cannot modify or customize the way a Web page is displayed, unless an image depicts a scene that is to be displayed in three-dimensional form, in, for example VRML or X3D format. For such images, by actuating controls that may be provided on the Web page, a user can enable the three-dimensional scene to be displayed from a number of orientations. While this can be useful in some situations, there are a number of limitations that make it less than optimum. For example, the amount of information required to define objects in a three-dimensional scene in any significant degree of detail can be quite large, and, given bandwidth limitations that are typical in many connections to the World Wide Web, it would require an inordinate amount of time to retrieve the information required to display the three-dimensional scene if the scene has any significant degree of detail. Accordingly, typically for three dimensional scenes, the amount of image information will be limited sufficiently so that the three-dimensional scenes have only a few relatively small objects and textures, with an extremely limited range of illumination and surface property effects. In addition, although a user can change the viewpoint from which the scene is displayed, he or she cannot change the orientation or a number of other characteristics of the objects in the scene.
Even if the bandwidth were sufficient to enable sufficient three-dimensional scene information to be retrieved within a reasonable amount of time to facilitate display of the scene with a more photo-realistic quality, in a number of situations it may be undesirable to transfer the information to the user. For example, if a manufacturer uses the Web site to provide information about its products for, for example, potential customers, it may not wish to make information sufficient to provide photo-realistic three-dimensional images available for retrieval, since information that is sufficiently detailed to generate such images may also be sufficiently detailed to provide a significant amount of design information that may be of interest to competitors. This is particularly the case if the information is sufficiently detailed to allow a user to modify or customize the scene. For example, if the manufacturer is an automobile manufacturer, it may be desirable to allow a user to not only view the automobile from user-selectable orientation, but also to modify or customize the scene, by, for example, changing the color and texture of various surfaces, changing the positions of light sources, enable the automobile to be displayed with doors, hood and/or trunk in an open position, and the like. The amount of information that would be necessary to allow a user to perform such operations may require a significant amount of time to transfer. In addition, the amount of information that may be required may constitute a significant amount of the design information for the object(s) in the scene, which may be confidential.
Accordingly, it will be desirable to maintain the three-dimensional scene information on the Web site and have the Web site render two-dimensional images in orientations and with modifications and customizations of the scene as specified by the user, and transmit the two-dimensional image information to the user's browser for display. However, problems arise since not only will the Web site need to retrieve the information from databases on which the information is stored for transmission to the user's browser, but need also render the two-dimensional images from orientations and with modifications and customizations specified by the user. For example, if a number of users are accessing the Web site concurrently, the amount of processing power required to render the images in a reasonable amount of time can become quite large. In addition, problems can arise if a group of users are making use of the same scene, for whom customizations made by any of the users in the group are to be incorporated into the scene as used by all of the members of the group, since all of the customizations would need to be transmitted to all of the users and incorporated into their respective three-dimensional scenes.